package com.esunny.resourcevisualization.service;

import com.alibaba.fastjson.JSONArray;
import com.esunny.resourcevisualization.domain.entity.CustomizeColumn;

/**
 * @version 1.0.0.0
 * @InterfaceName CustomizeColumnService
 * @Description 自定义表头逻辑处理
 * @Author baochencong
 * @Date 2021/3/22 11:05
 */
public interface CustomizeColumnService {

    /**
     * 添加用户自定义列头
     *
     * @param customizeColumn 自定义列头信息
     * @return 添加自定义列头结果
     */
    boolean addCustomizeColumn(CustomizeColumn customizeColumn);

    /**
     * 通过用户名删除自定义列头信息
     *
     * @param username 用户名
     * @return 删除结果
     */
    boolean deleteCustomizeColumn(String username,String resourceType);

    /**
     * 通过用户名修改用户自定义列头信息
     *
     * @param customizeColumn 自定义列头信息
     * @return 修改结果
     */
    boolean updateCustomizeColumn(CustomizeColumn customizeColumn);

    /**
     * 通过用户名获取列头信息
     *
     * @param username 用户名
     * @param resourceType 资源类别英文名
     * @return 用户自定义列头信息
     */
    JSONArray getCustomizeColumn(String username,String resourceType);

    /**
     * 设置默认的资源类别显示字段
     * @param resourceType 资源类别英文名
     * @return 生成结果
     */
    boolean generateDefaultColumn(String resourceType);
}
